package org.letscode.wopiserver.util;

import java.io.File;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.HashMap;
import java.util.Map;

/**
 * @Title: FileUtils.java
 * @Description: 文件处理工具类
 * @author zhengzhq E-Mail:zzq0324@qq.com
 * @date 2016年11月27日 下午8:12:26
 */
public class FileUtils {

  private static Map<String, File> FILES_MAP = new HashMap<String, File>();

  // 启动的时候将所有的文件信息静态加载进来
  static {
    try {
      URL url = FileUtils.class.getResource("/files");
      File dir = new File(url.toURI());

      for (File file : dir.listFiles()) {
        FILES_MAP.put(file.getName(), file);
      }
    } catch (URISyntaxException e) {
      e.printStackTrace();
    }
  }

  public static File getFile(String fileId) {
    return FILES_MAP.get(fileId);
  }

  public static Map<String, String> getFileInfo(String fileName) {
    if (FILES_MAP.containsKey(fileName)) {
      File file = FILES_MAP.get(fileName);
      if (file == null) {
        return null;
      }

      long fileSize = file.length();
      Map<String, String> fileInfoMap = new HashMap<String, String>();
      fileInfoMap.put("BaseFileName", file.getName());
      fileInfoMap.put("Size", String.valueOf(fileSize));
      fileInfoMap.put("Version", "1.1");
      fileInfoMap.put("OwnerId", "admin");

      return fileInfoMap;
    }

    return null;
  }
}
